﻿using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;

namespace model
{
    /// <summary>
    /// 这是一个ViewModel，用来绑定到View，填充数据。
    /// 使用了 CommunityToolkit.Mvvm 框架，简化了开发。
    /// 属性只需要添加一个[ObservableProperty]
    /// 命令只需要添加一个[RelayCommand]
    /// </summary>
    public partial class UserModel2 : ObservableObject
    {
        [ObservableProperty]
        private string name; // 自动生成 Name 属性

        [ObservableProperty]
        private string age;

        [ObservableProperty]
        private string email;

        /// <summary>
        /// 确定按钮的命令
        ///  Command="{Binding ConfirmCommand}" 可以匹配 OnConfirm或者Confirm 方法
        /// </summary>
        /// <param name="obj"></param>
        [RelayCommand]
        private void OnConfirm(object obj)
        {
            // 这里处理“确定”按钮的逻辑
            MessageBox.Show($"姓名: {Name}\n年龄: {Age}\n邮箱: {Email}", "提交信息");

            // 修改属性，触发事件
            this.Name = "John Doe";  // 输出：Property Name has changed!
            this.Age = "40";
            this.Email = "mailfendou@163.com";

        }


    }
}
